Virtualization technologies have become widely used in recent years. “Virtualization” typically refers to creating a virtual version of a physical device or resource. Many computing technologies can be virtualized, such as computing devices, servers, desktops, storage devices, networks, operating systems, and applications. In a hardware virtualization environment, sometimes also referred to as a platform virtualization environment, a virtual machine can simulate a physical computer running a certain operating system. In particular, software executed on these virtual machines can be separated from the underlying hardware resources. As a result, virtual machines running on the same host computer can each simulate separate computers running separate operating systems. For example, a computer can host a virtual machine that simulates a computer running a Linux operating system, based on which Linux-based software can be executed, and can also host a different virtual machine that simulates a computer running a Windows™ operating system, based on which Windows™-based software can be executed.
Users of physical client devices can access a virtualization environment to view and interact with virtual desktops hosted on virtual machines. Application virtualization can be used with desktop virtualization to provide users with a comprehensive virtual desktop environment in which all of the components of a desktop are virtualized. For example, a user of a client device could request a virtual desktop of a virtual machine running a Microsoft Windows™ 7 operating system, which could emulate a desktop of a Microsoft Windows™ 7 operating system operating on a physical computing device. The user could select to open a virtual Microsoft™ Word application from the hosted virtual desktop, and a virtual Microsoft™ Word application could open that emulates a Microsoft™ Word application that would open on a physical computing device running a Microsoft Windows™ 7 operating system.
There are many advantages to providing virtual desktop environments. For example, applications and operating systems can be stored at a central location, and provided on demand to users of a variety of different types of devices running a variety of different operating systems from a variety of different locations. Virtual desktop environments can also allow network administrators to better control access to sensitive information, because all of the information can be stored at a central location and streamed to users on demand during hosted virtual desktop sessions. Virtual desktop environments can further provide users with better systems for backing up information, because all of the information can be stored at a central location that has better or more redundant systems for backing up the information.
A desktop virtualization environment, however, remains an emulation of a physical environment, and certain features of a physical computing environment may not be implemented well in the emulation. For example, physical computing devices often provide for the use of multiple physical monitors, sometimes referred to as a “multi-monitor” mode. The use of multiple physical monitors can allow a user to extend the size of the desktop in which the user is working across multiple physical monitors, so that the desktop area in which the user can work and run applications is larger. For example, using two 1024×768 pixel resolution physical monitors can allow a user to use a 2048×768 pixel desktop image across the two physical monitors. This can allow a user to have one application opened in full screen on one of the physical monitors, while having a different application opened in fill screen on the other physical monitor.
There are many advantages to running applications on multiple physical monitors. Industries, such as the financial services, architecture, graphic design, manufacturing, engineering, and video editing industries, rely heavily on the use of applications that display information that is constantly being updated over time. For example, a stockbroker may use an application that displays a list of stock prices or charts that are updated frequently throughout the day. For users running such applications, it may be important to leave the applications open throughout the day so that they can quickly view changes to the displayed information.
In desktop virtualization environments, such a multiple physical monitor setup may not be emulated, unless the client device requesting a hosted virtual desktop has multiple physical monitors. For example, a hosted virtual desktop of 2048×768 pixel resolution may be provided to a user of a client device having two 1024×768 pixel resolution physical monitors. A user of a client device with a limited number of physical monitors, however, may wish to run a large number of applications simultaneously on a hosted virtual desktop. Moreover, a user may wish to simultaneously run a greater number of applications than the number of physical monitors at the client device, and may wish to run each of these applications in a full screen mode.
But current methods and systems are limited. These current technologies are not capable of providing a user of a client device using a hosted virtual desktop with a number of virtual monitors that is greater than the number of physical monitors connected to the client device. Also, these current technologies do not allow a user of a client device to easily create a number of virtual monitors.